//package com.jiuan.android.app.yilife;
//
//import java.util.ArrayList;
//import java.util.List;
//
//
//
//
//
//import android.app.Activity;
//import android.app.AlertDialog;
//import android.app.Dialog;
//import android.app.ProgressDialog;
//import android.app.AlertDialog.Builder;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.content.DialogInterface.OnCancelListener;
//import android.view.Gravity;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.view.Window;
//import android.view.WindowManager;
//import android.webkit.WebView;
//import android.webkit.WebViewClient;
//import android.widget.AdapterView;
//import android.widget.BaseAdapter;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.TextView;
//import android.widget.AdapterView.OnItemClickListener;
//
//public final class MMAlert {
//
//	public interface OnAlertSelectId {
//		void onClick(int whichButton);
//	}
//
//	private MMAlert() {
//
//	}
//
//	public static AlertDialog showAlert(final Context context, final String msg, final String title) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(title);
//		builder.setMessage(msg);
//		builder.setPositiveButton(R.string.app_ok, new DialogInterface.OnClickListener() {
//
//			@Override
//			public void onClick(final DialogInterface dialog, final int which) {
//				dialog.cancel();
//			}
//		});
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final int msgId, final int titleId) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(titleId);
//		builder.setMessage(msgId);
//		builder.setPositiveButton(R.string.app_ok, new DialogInterface.OnClickListener() {
//
//			@Override
//			public void onClick(final DialogInterface dialog, final int which) {
//				dialog.cancel();
//			}
//		});
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final int msgId, final int titleId, final DialogInterface.OnClickListener l) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(titleId);
//		builder.setMessage(msgId);
//		builder.setPositiveButton(R.string.app_ok, l);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String msg, final String title, final DialogInterface.OnClickListener l) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(title);
//		builder.setMessage(msg);
//		builder.setPositiveButton(R.string.app_ok, l);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final int msgId, final int titleId, final DialogInterface.OnClickListener lOk, final DialogInterface.OnClickListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(titleId);
//		builder.setMessage(msgId);
//		builder.setPositiveButton(R.string.app_ok, lOk);
//		builder.setNegativeButton(R.string.app_cancel, lCancel);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final int msg, final int title, final int yes, final int no, final DialogInterface.OnClickListener lOk,
//			final DialogInterface.OnClickListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(title);
//		builder.setMessage(msg);
//		builder.setPositiveButton(yes, lOk);
//		builder.setNegativeButton(no, lCancel);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String msg, final String title, final DialogInterface.OnClickListener lOk, final DialogInterface.OnClickListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(title);
//		builder.setMessage(msg);
//		builder.setPositiveButton(R.string.app_ok, lOk);
//		builder.setNegativeButton(R.string.app_cancel, lCancel);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String msg, final String title, final String yes, final String no, final DialogInterface.OnClickListener lOk,
//			final DialogInterface.OnClickListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setIcon(R.drawable.ic_dialog_alert);
//		builder.setTitle(title);
//		builder.setMessage(msg);
//		builder.setPositiveButton(yes, lOk);
//		builder.setNegativeButton(no, lCancel);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String title, final View view, final DialogInterface.OnClickListener lOk) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setTitle(title);
//		builder.setView(view);
//		builder.setPositiveButton(R.string.app_ok, lOk);
//		// builder.setCancelable(true);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String title, final View view, final String ok, final String cancel, final DialogInterface.OnClickListener lOk,
//			final DialogInterface.OnClickListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setTitle(title);
//		builder.setView(view);
//		builder.setPositiveButton(ok, lOk);
//		builder.setNegativeButton(cancel, lCancel);
//		// builder.setCancelable(false);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String title, final String ok, final View view, final DialogInterface.OnClickListener lOk) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setTitle(title);
//		builder.setView(view);
//		builder.setPositiveButton(ok, lOk);
//		// builder.setCancelable(true);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String title, final String msg, final View view, final DialogInterface.OnClickListener lOk,
//			final DialogInterface.OnClickListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setTitle(title);
//		builder.setMessage(msg);
//		builder.setView(view);
//		builder.setPositiveButton(R.string.app_ok, lOk);
//		builder.setNegativeButton(R.string.app_cancel, lCancel);
//		// builder.setCancelable(true);
//		builder.setOnCancelListener(new OnCancelListener() {
//
//			@Override
//			public void onCancel(DialogInterface dialog) {
//				if (lCancel != null) {
//					lCancel.onClick(dialog, 0);
//				}
//			}
//		});
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static AlertDialog showAlert(final Context context, final String title, final View view, final OnCancelListener lCancel) {
//		if (context instanceof Activity && ((Activity) context).isFinishing()) {
//			return null;
//		}
//
//		final Builder builder = new Builder(context);
//		builder.setTitle(title);
//		builder.setView(view);
//		// builder.setCancelable(true);
//		builder.setOnCancelListener(lCancel);
//		final AlertDialog alert = builder.create();
//		alert.show();
//		return alert;
//	}
//
//	public static Dialog showAlert(final Context context, final String title, final String[] items, String exit, final OnAlertSelectId alertDo) {
//		return showAlert(context, title, items, exit, alertDo, null);
//	}
//
//	public static ProgressDialog showProgressDlg(final Context context, final String title, final String message, final boolean indeterminate, final boolean cancelable, final OnCancelListener lCancel) {
//
////		MMAppMgr.activate(true);
//
//		return ProgressDialog.show(context, title, message, indeterminate, cancelable, new OnCancelListener() {
//
//			@Override
//			public void onCancel(final DialogInterface dialog) {
//				if (lCancel != null) {
//					lCancel.onCancel(dialog);
//				}
////				MMAppMgr.activate(false);
//			}
//		});
//	}
//
//	public static AlertDialog showWebAlert(final Context context, final String title, final String rawUrl, final WebViewClient client, final DialogInterface.OnClickListener lOk,
//			final DialogInterface.OnDismissListener lDismiss) {
//		final View view = View.inflate(context, R.layout.webalert, null);
//		final AlertDialog alert = showAlert(context, title, view, lOk);
//		alert.setOnDismissListener(new DialogInterface.OnDismissListener() {
//
//			@Override
//			public void onDismiss(DialogInterface dialog) {
//
//				if (lDismiss != null) {
//					lDismiss.onDismiss(dialog);
//				}
//			}
//		});
//		final WebView info = (WebView) view.findViewById(R.id.info_wv);
//		info.loadUrl(rawUrl);
//		if (client != null) {
//			info.setWebViewClient(client);
//		}
//		return alert;
//	}
//
//	public static AlertDialog showWebAlert(final Context context, final String title, final String rawUrl, final WebViewClient client, final String ok, final String cancel,
//			final DialogInterface.OnClickListener lOk, final DialogInterface.OnClickListener lCancel, final DialogInterface.OnDismissListener lDismiss) {
//		final View view = View.inflate(context, R.layout.webalert, null);
//		final AlertDialog alert = showAlert(context, title, view, ok, cancel, lOk, lCancel);
//		alert.setOnDismissListener(new DialogInterface.OnDismissListener() {
//
//			@Override
//			public void onDismiss(DialogInterface dialog) {
//				if (lDismiss != null) {
//					lDismiss.onDismiss(dialog);
//				}
//			}
//		});
//
//		final WebView info = (WebView) view.findViewById(R.id.info_wv);
//		info.loadUrl(rawUrl);
//		if (client != null) {
//			info.setWebViewClient(client);
//		}
//		return alert;
//	}
//
//	/**
//	 * @param context
//	 *            Context.
//	 * @param title
//	 *            The title of this AlertDialog can be null .
//	 * @param items
//	 *            button name list.
//	 * @param alertDo
//	 *            methods call Id:Button + cancel_Button.
//	 * @param exit
//	 *            Name can be null.It will be Red Color
//	 * @return A AlertDialog
//	 */
//	public static Dialog showAlert(final Context context, final String title, final String[] items, String exit, final OnAlertSelectId alertDo, OnCancelListener cancelListener) {
//		String cancel = context.getString(R.string.app_cancel);
//		final Dialog dlg = new Dialog(context, R.style.MMTheme_DataSheet);
//		LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//		LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.alert_dialog_menu_layout, null);
//		final int cFullFillWidth = 10000;
//		layout.setMinimumWidth(cFullFillWidth);
//		final ListView list = (ListView) layout.findViewById(R.id.content_list);
//		AlertAdapter adapter = new AlertAdapter(context, title, items, exit, cancel);
//		list.setAdapter(adapter);
//		list.setDividerHeight(0);
//
//		list.setOnItemClickListener(new OnItemClickListener() {
//
//			@Override
//			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//				if (!(title == null || title.equals("")) && position - 1 >= 0) {
//					alertDo.onClick(position - 1);
//					dlg.dismiss();
//					list.requestFocus();
//				} else {
//					alertDo.onClick(position);
//					dlg.dismiss();
//					list.requestFocus();
//				}
//
//			}
//		});
//		// set a large value put it in bottom
//		Window w = dlg.getWindow();
//		WindowManager.LayoutParams lp = w.getAttributes();
//		lp.x = 0;
//		final int cMakeBottom = -1000;
//		lp.y = cMakeBottom;
//		lp.gravity = Gravity.BOTTOM;
//		dlg.onWindowAttributesChanged(lp);
//		dlg.setCanceledOnTouchOutside(true);
//		if (cancelListener != null) {
//			dlg.setOnCancelListener(cancelListener);
//		}
//		dlg.setContentView(layout);
//		dlg.show();
//		return dlg;
//	}
//
//}
//
//class AlertAdapter extends BaseAdapter {
//	// private static final String TAG = "AlertAdapter";
//	public static final int TYPE_BUTTON = 0;
//	public static final int TYPE_TITLE = 1;
//	public static final int TYPE_EXIT = 2;
//	public static final int TYPE_CANCEL = 3;
//	private List<String> items;
//	private int[] types;
//	// private boolean isSpecial = false;
//	private boolean isTitle = false;
//	// private boolean isExit = false;
//	private Context context;
//
//	public AlertAdapter(Context context, String title, String[] items, String exit, String cancel) {
//		if (items == null || items.length == 0) {
//			this.items = new ArrayList<String>();
//		} else {
////			this.items = Util.stringsToList(items);
//		}
//		this.types = new int[this.items.size() + 3];
//		this.context = context;
//		if (title != null && !title.equals("")) {
//			types[0] = TYPE_TITLE;
//			this.isTitle = true;
//			this.items.add(0, title);
//		}
//
//		if (exit != null && !exit.equals("")) {
//			// this.isExit = true;
//			types[this.items.size()] = TYPE_EXIT;
//			this.items.add(exit);
//		}
//
//		if (cancel != null && !cancel.equals("")) {
//			// this.isSpecial = true;
//			types[this.items.size()] = TYPE_CANCEL;
//			this.items.add(cancel);
//		}
//	}
//
//	@Override
//	public int getCount() {
//		return items.size();
//	}
//
//	@Override
//	public Object getItem(int position) {
//		return items.get(position);
//	}
//
//	@Override
//	public long getItemId(int position) {
//		return 0;
//	}
//
//	@Override
//	public boolean isEnabled(int position) {
//		if (position == 0 && isTitle) {
//			return false;
//		} else {
//			return super.isEnabled(position);
//		}
//	}
//
//	@Override
//	public View getView(int position, View convertView, ViewGroup parent) {
//		final String textString = (String) getItem(position);
//		ViewHolder holder;
//		int type = types[position];
//		if (convertView == null || ((ViewHolder) convertView.getTag()).type != type) {
//			holder = new ViewHolder();
//			if (type == TYPE_CANCEL) {
//				convertView = View.inflate(context, R.layout.alert_dialog_menu_list_layout_cancel, null);
//			} else if (type == TYPE_BUTTON) {
//				convertView = View.inflate(context, R.layout.alert_dialog_menu_list_layout, null);
//			} else if (type == TYPE_TITLE) {
//				convertView = View.inflate(context, R.layout.alert_dialog_menu_list_layout_title, null);
//			} else if (type == TYPE_EXIT) {
//				convertView = View.inflate(context, R.layout.alert_dialog_menu_list_layout_special, null);
//			}
//
//			// holder.view = (LinearLayout) convertView.findViewById(R.id.popup_layout);
//			holder.text = (TextView) convertView.findViewById(R.id.popup_text);
//			holder.type = type;
//
//			convertView.setTag(holder);
//		} else {
//			holder = (ViewHolder) convertView.getTag();
//		}
//
//		holder.text.setText(textString);
//		return convertView;
//	}
//
//	static class ViewHolder {
//		// LinearLayout view;
//		TextView text;
//		int type;
//	}
//}
